Plugin Overview

HouseBot Ocelot Plugin Overview

The HouseBot Ocelot Hardware Interface Plugin provides an interface so that HouseBot Devices can use the Ocelot hardware for automation control.

The Ocelot itself is the heart of an expandable modular network of equipment provided by Applied Digital. Optional control equipment can be networked with the Ocelot to provide a scalable home control solution. It can:

  • Send and receive X10 commands.
  • Send and receive IR signals. Use the single port on the Ocelot, or multiple ports with addition of the SECU-16IR module.
  • Control Relays (requires SECU-16 module)
  • Monitor Input channels (requires SECU-16 module)

When used with HouseBot, it is recommended that the Ocelot not be running its own internal program (generated by C-Max). While it is possible to have the Ocelot internal program running concurrently with HouseBot, bit complicates the HouseBot IR configuration.


Plugin Configuration

Configuring the Plugin

The first step is to create an Ocelot Hardware Interface in HouseBot.

To do this follow these steps:

  1. Select “File / New / Interface…” from the main menu. The New Interface Wizard will prompt you through the setup.
  2. Select ‘ADI Ocelot Hardware Module’ as the Type of Interface.
  3. Give the hardware a unique and descriptive name.
  4. Specify the COM Port that the OceLot is attached to.

Note

  • Multiple Ocelots can be used by HouseBot. Each Ocelot will require its own COM port.

After the Plugin has been created, enable the hardware by changing the “Enabled” property to “Yes”. If the Plugin is configured correctly and the hardware is installed correctly, the Plugin should enable. If, however, there is a problem and the Enabled property does not change to “Yes”, check the HouseBot error log for information on the problem.

Once enabled, the Ocelot Plugin is ready for 2-way X10 control, Relay Control*, and monitoring inputs*. For information on controlling equipment using IR, see Configuring IR.

To complete the setup, HouseBot Devices must be created, configured and associated with the Ocelot Hardware Interface. See the HouseBot on-line documentation for information on creating HouseBot Input, Relay, and IR Devices.

(*) Requires SECU-16 module


Configuring IR

Configuring IR (Infrared)

The Ocelot stores IR Codes in its internal configuration. This internal memory of IR codes must be created by teaching the Ocelot each of the codes. This is a manual process that is required only once. Once the codes have been learned by the Ocelot through HouseBot, the codes can then be used by HouseBot IR Devices to control IR equipment.

To add an IR code:

  1. Click the "Press to configure IR" button on the Ocelot Hardware Interface property window. This will present the "IR Configuration" dialog.
  2. Press the "Add" button to add an IR Code.
  3. Select the Remote Control that the IR Code will be associated with. If no Remote Controls have been created, or if the Remote Control for the IR code to be learned is not in the "Remote Name" list, click the "Add Remote" button and add a Remote Control.
  4. Enter the name for the IR Code in the Code Name edit field. Tip: When naming numeric IR codes (1, 2, 3, etc.), use the numeric value. This will allow HouseBot to automatically generate numeric combinations for Property Values. For example, it will automatically combine IR Codes named '1', '2', and '3' to generate a Property Value -> IR Code assignment for Property Value '123'. Use 'Enter' as the value for the Enter (or return) code and HouseBot will append the 'Enter' IR code after the numeric values.
    1. If the IR Code is to be received by HouseBot, make sure to also select the 'Input' checkbox.
    2. If the IR Code is to be sent out of an SECU-16IR module, select the SECU-16IR radio button and enter the Zone and Module that the IR Code will be sent.
  5. Press the 'Learn' button to begin the IR code learning.
  6. Point the remote control at the IR receiver on the Ocelot and press the button/key on the remote control to learn. When the Ocelot has succesfully learned the IR code, a message box will be displayed indicating that the IR code has been learned. Tip: Position the remote reasonably close to the Ocelot and press the button quickly. If the code does not learn, hold the button a bit longer. Repeat this until the code has learned.
  7. Dismiss all windows to return to the main "IR Configuration" window.
  8. Select the IR code and press the "Send Code" to test the transmission of the IR code.
  9. Repeat these steps until all of the IR codes that will be used by HouseBot have been learned.

To modify an IR Code, simply double-click the code in the list on the "IR Configuration" window. This is most commonly used to re-learn the IR code into the Ocelot, or to change the Output Module setting.

To delete an IR Code, select the code in the list on the "IR Configuration" window and press the "Delete" button.

To test an IR code, select the code in the list on the "IR Configuration" window and press the "Send Code" button. If an IR emitter is plugged into the correct output port (as specified in the Output Module configuration), the attached device should respond correctly.

Notes:

  • If the Ocelot has previously learned the IR codes without HouseBot, they will still need to be re-learned using HouseBot. HouseBot records additional information about the IR Codes that is not stored in the Ocelot.
  • All IR Codes in the HouseBot system are reference in the "Remote Control Library". This library is a hierarchical representation of remote controls and all of their IR Codes. The information in this library is used to provide a generic representation of remote controls and their IR codes that is used to associate the IR codes to HouseBot Device Property Values.
  • If 'Add to Library on OK' is checked, the raw IR code data will be retrieved from the Ocelot, converted into Pronto data format, and saved to the HouseBot Remote Control Library. The IR code will be saved to the Library regardless of whether this is checked or not. The difference is whether the Pronto data will be saved with the IR Code in HouseBot.

Tip:

  • After a code has been learned, click the 'Modify' button (or double-click the code) and view the Pronto Code. The more Pronto data associated with the code, the longer the code may take to transmit. Try re-learning the code with shorter button presses to decrease the length of the Pronto code to improve the speed of the IR code transmission.

Transferring IR Codes

By using the HouseBot Remote Control library, the Ocelot Plugin provides a method to backup and restore IR codes. This can be helpful if the IR configuration of the Ocelot is somehow lost, or when switching to a new Ocelot. IR codes can be backed-up and restored individually or the entire list can be processed.

To backup IR codes, select the IR codes from the list on the "IR Configuration" window. Press the "To Library" button to begin the transfer. The Pronto data for each of the selected codes will be stored in the HouseBot Remote Control library. When the transfer is complete, the mouse pointer will return from the hourglass state.

To restore IR codes, select the IR codes from the list on the "IR Configuration" window. Press the "To Ocelot" button to begin the transfer. For each of the selected codes, the Ocelot Plugin will retrieve the Pronto data stored in the HouseBot Remote Control Library and convert it to native Ocelot code format while sending to the Ocelot. When the transfer is complete, the mouse pointer will return from the hourglass state.


Receiving IR Codes

The Ocelot has the capability to also receive and decode IR codes. If it matches an IR code, it notifies the HouseBot Ocelot plugin and indicates the IR code that was received. The Plugin then notifies any HouseBot Devices that subscribe to the “IR Response Received” notification list. One such device is the “IR Receiver” Device. When an IR Code is received, this Device will set its “IR Code Number Received” Property to the numeric value of the IR Code that was received.

The following steps can be used to receive IR codes in HouseBot.

  1. Select “File / New / Device…” from the main menu.
  2. Select the “Hardware Device” radio button.
  3. Select “IR Receiver” from the “Type of Device” list.
  4. Select the Ocelot Interface.
  5. Provide a unique and descriptive name for the Device.
  6. Press OK
  7. Enable the Device

With this configuration, the IR Receiver Property will change when a new code is received so you should visually monitor the Property Value History page for changes.

To act on the code reception, you will need to create a Task (or multiple Tasks) that will have a condition to check for a particular IR Code. You can find the IR Code number in the Remote Control Library. Each Remote Control in the Library, contains the IR codes learned by the Ocelot. Clicking on a particular code in the Tree View, will display its properties and its numeric code value.

Note:

  • For the Ocelot to recognize the IR code, the "Output" checkbox must be selected before learning the code in the Plugin.


Creating New IR Definitions

Creating new IR Device definitions

For details on creating new IR definitions, see the main HouseBot on-line help.


Code Associations

Associating Remote IR Codes to Property Values

For details on associating IR Codes to Property Values, see the main HouseBot on-line help.


Pronto Data

The Ocelot stores IR codes in a proprietary format that is not recognized directly by HouseBot. To help generalize IR code data, the Ocelot Plugin is able to convert the proprietary IR code format into an IR code format used by the Phillips Pronto device. While there is no industry standard for storing IR code data, the Pronto format is fast becoming a de facto standard due to its ASCII format, tools for managing the data, and the success of the Pronto device.

HouseBot has chosen to use the Pronto data format as the common format for storing IR code data in the Remote Control Library. If conversion routines are implemented by all HouseBot Hardware Interface Plugins that support IR, it is conceivable that IR codes can be transferred between proprietary IR controlling hardware without the need to re-learn the IR codes on each device. Sharing IR codes between Hardware Interface equipment is not really an issue, since most equipment is managed by a single Hardware Interface.

There are two advantages to having the Hardware Interface Plugin convert Pronto data.

  1. There are times when the Ocelot can not accurately learn an IR code to successfully transmit it. It is sometimes possible to have the Plugin convert the Pronto formatted code into Ocelot format and successfully transmit the code.
  2. Pronto codes not generated by the Ocelot Plugin, are sometimes shorter and more concise. This can mean that when converted back to the native Ocelot format, the codes will transmit faster than the original code learned by the Ocelot.

IR Pronto data can be viewed and modified from the "Modify IR Code" dialog. If the Pronto data is changed, press the "Learn From Library" button to send the updated data to the Ocelot.

Pronto data can also be viewed and modified from the HouseBot Remote Control Library. If changes are made to the Pronto data from the Library, the code must be sent back to the Ocelot using the user interface in the Ocelot Plugin.

Where to find Pronto Data

On the Internet, Remote Central (www.remotecentral.com) provides a library of Pronto codes for a wide range of remote controls. These codes can be copy and pasted into the Ocelot Plugin Pronto Data interface and used directly.